OPC Studio User's Guide and Reference
BrowseTree(IEasyDAClient,DABrowseArguments,Func<IEnumerable<DANodeElement>,IEnumerable<DANodeElement>>) Method



OpcLabs.EasyOpcClassicCore Assembly > OpcLabs.EasyOpc.DataAccess.Extensions Namespace > IEasyDAClientExtension2 Class > BrowseTree Method : BrowseTree(IEasyDAClient,DABrowseArguments,Func<IEnumerable<DANodeElement>,IEnumerable<DANodeElement>>) Method
The client object that will perform the operation.
Holds arguments needed to browse OPC DA server nodes.
Transforms a sequence of child node elements before it is used for further browsing.
Allows to traverse through OPC DA address space nodes under the specified node, using given browse arguments, transforming the sequence of child node elements using a specified function.
Syntax

Parameters

client
The client object that will perform the operation.
browseArguments
Holds arguments needed to browse OPC DA server nodes.
nodeElementsTransformer
Transforms a sequence of child node elements before it is used for further browsing.

Return Value

Returns an enumerator of tree positions that will traverse through all nodes specified.
Exceptions
ExceptionDescription

A null reference (Nothing in Visual Basic) is passed to a method that does not accept it as a valid argument.

This is a usage error, i.e. it will never occur (the exception will not be thrown) in a correctly written program. Your code should not catch this exception.

Remarks

If you want to enumerate through a sequence of the tree nodes, convert the result to a sequence using the OpcLabs.BaseLib.Graphs.Extensions.ITreeTraversableExtension.ToEnumerable<T> method.

The method automatically prevents recursion into nodes that have already been traversed.

The root position in a tree will correspond to the specified starting node. The OpcLabs.EasyOpc.DataAccess.Graphs.DANodeTreePosition object for the root is special one, in that from its OpcLabs.EasyOpc.DataAccess.AddressSpace.DANodeElement properties, only its ItemId is filled in.

Requirements

Target Platforms: .NET Framework: Windows 10 (selected versions), Windows 11 (selected versions), Windows Server 2016, Windows Server 2022; .NET: Linux, macOS, Microsoft Windows

See Also